//
//  VistorTableViewController.swift
//  WeiBoDemo
//
//  Created by China Dragon on 2023/8/25.
//

import UIKit

class VistorTableViewController: UITableViewController {
    
    //是否登录了：true 已登录， false 未登录
    private var userLogin = false
    
    /*
     问题：
     1、查看有几个 VistorView？- 每个控制器各自有各自不同的 访客视图（VistorView）
     
     2、访客视图（VistorView）如果用懒加载会怎样？
       如果使用懒加载，访客视图始终都会被创建出来
     
     */
    
    var vistorView: VistorView?
//   lazy var vistorView: VistorView? = VistorView()// 这里不能使用懒加载
    
    override func viewDidLoad() {
        //根据用户状态 决定显示根视图
        userLogin ? super.viewDidLoad() : setUpVistorView()
    }
    

    override func viewDidAppear(_ animated: Bool) {
//        print(vistorView)
        /*
         Optional(<WeiBoDemo.VistorView: 0x7f9494005260; frame = (0 0; 393 852); backgroundColor = UIExtendedGrayColorSpace 0.929412 1; layer = <CALayer: 0x600003a78a60>>)
         Optional(<WeiBoDemo.VistorView: 0x7f9491e0f6d0; frame = (0 0; 393 852); backgroundColor = UIExtendedGrayColorSpace 0.929412 1; layer = <CALayer: 0x600003a62920>>)
         Optional(<WeiBoDemo.VistorView: 0x7f9491e45880; frame = (0 0; 393 852); backgroundColor = UIExtendedGrayColorSpace 0.929412 1; layer = <CALayer: 0x600003a63a60>>)
         Optional(<WeiBoDemo.VistorView: 0x7f949402e000; frame = (0 0; 393 852); backgroundColor = UIExtendedGrayColorSpace 0.929412 1; layer = <CALayer: 0x600003a6a260>>)
         */
    }
    
    /// 设置访客视图
    private func setUpVistorView(){
        //替换根视图
        vistorView = VistorView()
        
        // 设置代理  - 通过代理传递点击事件
//        vistorView?.delegate = self
        
        view = vistorView
//        view.backgroundColor = UIColor.orange
        // 添加监听方法 - 通过监听方法传递点击事件
        vistorView?.registerButton.addTarget(self, action: "vistorViewDidRegister", for: UIControl.Event.touchUpInside)
        vistorView?.loginButton.addTarget(self, action: "vistorViewDidLogin", for: UIControl.Event.touchUpInside)
        
    }
}

// MARK: - 访客视图监听方法
extension VistorTableViewController{
    @objc func vistorViewDidRegister() {
        print("注册")

    }

    @objc func vistorViewDidLogin() {
        print("登录")
    }
}


//extension VistorTableViewController: VistorViewDelegate{
//    func vistorViewDidRegister() {
//        print("注册")
//
//    }
//
//    func vistorViewDidLogin() {
//        print("登录")
//    }
//}

